An embodiment relates generally to in-vehicle communication diagnostics.
A controller-area network (CAN) is a vehicle multiplex bus standard intended to allow electronic control units (ECUs) and other devices to communicate with one another without a central or host controller of the bus. Vehicle systems and subsystems have numerous ECUs that control actuators or receive vehicle operation data from sensing devices.
CAN systems are asynchronous broadcast serial buses which communicate messages serially. Only a single message is communicated on a communication-bus at a time. When a message is ready to be transmitted onto the communication bus, the CAN-controller controls the message transfer on the bus. Since messages are transmitted serially, various nodes on the communication bus await a time to transmit. When a message is ready to be transmitted onto the communication bus, the bus controller controls the message transfer on the bus. If more than one message transmission is initiated simultaneously by multiple transmitters, the more dominant message is transmitted. This is known as an arbitration process. A message with a highest priority will dominate the arbitration and a message transmitting at the lower priority will sense this and wait. Therefore, it is pertinent to maintain a duty cycle for transmitting messages so that a backlog does not occur.
An error in the in-vehicle communication system is detected by the receiver based on a time-out occurring. That is, since messages are transmitted based on a duty cycle (e.g., 10 msec), if a receiver does not receive a message at the allocated time, then an assumption may be made that an error has occurred within the system. The error may occur at the transmitting node or in the communication bus; however, there is no effective method for identifying where the fault exactly occurred in the conventional in-vehicle communication system utilizing the time-out technique.